home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Sample Code / Snippets / Sound / SndForEver / SndForEver.cp < prev    next >
Encoding:
Text File  |  1992-07-15  |  1.1 KB  |  66 lines  |  [TEXT/MPS ]

  1. #include    <Resources.h>
  2. #include    <Sound.h>
  3. #include    <Events.h>
  4. #include    <Memory.h>
  5.  
  6. #define    TRUE            0xFF
  7. #define    FALSE            0
  8.  
  9. main()
  10. {
  11.     Handle            SoundData;
  12.     SndChannelPtr    chan;
  13.     OSErr            err;
  14.     SndCommand        mycmd;
  15.     
  16.     SoundData = GetResource ('snd ', 128);
  17.     if (ResError() != noErr || SoundData == nil)
  18.         Debugger();
  19.     HLock (SoundData);
  20.             
  21.     mycmd.cmd = soundCmd;
  22.     mycmd.param1 = 0;
  23.     mycmd.param2 = (long) *SoundData;
  24.     
  25.     chan = nil;
  26.     err = SndNewChannel (&chan, sampledSynth, 0, nil);
  27.     if (err != noErr)
  28.         Debugger();
  29.     
  30.     err = SndDoImmediate (chan, &mycmd);
  31.     if (err != noErr)
  32.         Debugger();
  33.  
  34.     mycmd.cmd = freqCmd;
  35.     mycmd.param1 = 0;
  36.     mycmd.param2 = 60;
  37.     
  38.     err = SndDoCommand (chan, &mycmd, FALSE);
  39.     if (err != noErr)
  40.         Debugger();
  41.  
  42.     do {
  43.         /*mycmd.cmd = noteCmd;
  44.         mycmd.param1 = 0x1000;
  45.         mycmd.param2 = 60;
  46.     
  47.         err = SndDoCommand (chan, &mycmd, FALSE);
  48.         if (err != noErr)
  49.             Debugger();*/
  50.         
  51.         } while (!StillDown());
  52.         
  53.     mycmd.cmd = quietCmd;
  54.     mycmd.param1 = 0;
  55.     mycmd.param2 = 0;
  56.     
  57.     err = SndDoImmediate (chan, &mycmd);
  58.     if (err != noErr)
  59.         Debugger();
  60.  
  61.     err = SndDisposeChannel (chan,FALSE);
  62.     if (err != noErr)
  63.         Debugger();
  64.         
  65.     HUnlock (SoundData);
  66. }